<!DOCTYPE html>
<html lang="en-us">
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    
<meta charset="UTF-8">
<title>Snapshot retention | Elasticsearch Guide [7.7] | Elastic</title>
<link rel="home" href="index.html" title="Elasticsearch Guide [7.7]">
<link rel="up" href="snapshot-lifecycle-management.html" title="SLM: Manage the snapshot lifecycle">
<link rel="prev" href="slm-and-security.html" title="Security and SLM">
<link rel="next" href="secure-cluster.html" title="Secure a cluster">
<meta name="DC.type" content="Learn/Docs/Elasticsearch/Reference/7.7">
<meta name="DC.subject" content="Elasticsearch">
<meta name="DC.identifier" content="7.7">
<meta name="robots" content="noindex,nofollow">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdn.optimizely.com/js/18132920325.js"></script>
    <link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
    <link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
    <link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
    <link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
    <link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
    <link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
    <link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
    <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
    <link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192">
    <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
    <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
    <link rel="manifest" href="/manifest.json">
    <meta name="apple-mobile-web-app-title" content="Elastic">
    <meta name="application-name" content="Elastic">
    <meta name="msapplication-TileColor" content="#ffffff">
    <meta name="msapplication-TileImage" content="/mstile-144x144.png">
    <meta name="theme-color" content="#ffffff">
    <meta name="naver-site-verification" content="936882c1853b701b3cef3721758d80535413dbfd">
    <meta name="yandex-verification" content="d8a47e95d0972434">
    <meta name="localized" content="true">
    <meta name="st:robots" content="follow,index">
    <meta property="og:image" content="https://www.elastic.co/static/images/elastic-logo-200.png">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">
    <link rel="apple-touch-icon-precomposed" sizes="64x64" href="/favicon_64x64_16bit.png">
    <link rel="apple-touch-icon-precomposed" sizes="32x32" href="/favicon_32x32.png">
    <link rel="apple-touch-icon-precomposed" sizes="16x16" href="/favicon_16x16.png">
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="/guide/static/styles.css">
  </head>

  <!--© 2015-2021 Elasticsearch B.V. Copying, publishing and/or distributing without written permission is strictly prohibited.-->

  <body>
    <!-- Google Tag Manager -->
    <script>dataLayer = [];</script><noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-58RLH5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-58RLH5');</script>
    <!-- End Google Tag Manager -->

    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-12395217-16"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'UA-12395217-16');
    </script>

    <!--BEGIN QUALTRICS WEBSITE FEEDBACK SNIPPET-->
    <script type="text/javascript">
      (function(){var g=function(e,h,f,g){
      this.get=function(a){for(var a=a+"=",c=document.cookie.split(";"),b=0,e=c.length;b<e;b++){for(var d=c[b];" "==d.charAt(0);)d=d.substring(1,d.length);if(0==d.indexOf(a))return d.substring(a.length,d.length)}return null};
      this.set=function(a,c){var b="",b=new Date;b.setTime(b.getTime()+6048E5);b="; expires="+b.toGMTString();document.cookie=a+"="+c+b+"; path=/; "};
      this.check=function(){var a=this.get(f);if(a)a=a.split(":");else if(100!=e)"v"==h&&(e=Math.random()>=e/100?0:100),a=[h,e,0],this.set(f,a.join(":"));else return!0;var c=a[1];if(100==c)return!0;switch(a[0]){case "v":return!1;case "r":return c=a[2]%Math.floor(100/c),a[2]++,this.set(f,a.join(":")),!c}return!0};
      this.go=function(){if(this.check()){var a=document.createElement("script");a.type="text/javascript";a.src=g;document.body&&document.body.appendChild(a)}};
      this.start=function(){var a=this;window.addEventListener?window.addEventListener("load",function(){a.go()},!1):window.attachEvent&&window.attachEvent("onload",function(){a.go()})}};
      try{(new g(100,"r","QSI_S_ZN_emkP0oSe9Qrn7kF","https://znemkp0ose9qrn7kf-elastic.siteintercept.qualtrics.com/WRSiteInterceptEngine/?Q_ZID=ZN_emkP0oSe9Qrn7kF")).start()}catch(i){}})();
    </script><div id="ZN_emkP0oSe9Qrn7kF"><!--DO NOT REMOVE-CONTENTS PLACED HERE--></div>
    <!--END WEBSITE FEEDBACK SNIPPET-->

    <div id="elastic-nav" style="display:none;"></div>
    <script src="https://www.elastic.co/elastic-nav.js"></script>

    <!-- Subnav -->
    <div>
      <div>
        <div class="tertiary-nav d-none d-md-block">
          <div class="container">
            <div class="p-t-b-15 d-flex justify-content-between nav-container">
              <div class="breadcrum-wrapper"><span><a href="/guide/" style="font-size: 14px; font-weight: 600; color: #000;">Docs</a></span></div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <div class="main-container">
      <section id="content">
        <div class="content-wrapper">

          <section id="guide" lang="en">
            <div class="container">
              <div class="row">
                <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                  <!-- start body -->
                  <div class="page_header">
<strong>IMPORTANT</strong>: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
<a href="../current/index.html">current release documentation</a>.
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch Guide [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="snapshot-restore.html">Snapshot and restore</a></span>
»
<span class="breadcrumb-link"><a href="snapshot-lifecycle-management.html">SLM: Manage the snapshot lifecycle</a></span>
»
<span class="breadcrumb-node">Snapshot retention</span>
</div>
<div class="navheader">
<span class="prev">
<a href="slm-and-security.html">« Security and SLM</a>
</span>
<span class="next">
<a href="secure-cluster.html">Secure a cluster »</a>
</span>
</div>
<div class="section xpack">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="slm-retention"></a>Snapshot retention<a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/slm/slm-retention.asciidoc">edit</a><a class="xpack_tag" href="/subscriptions"></a>
</h2>
</div></div></div>
<p>You can include a retention policy in an SLM policy to automatically delete old snapshots.
Retention runs as a cluster-level task and is not associated with a particular policy’s schedule.
The retention criteria are evaluated as part of the retention task, not when the policy executes.
For the retention task to automatically delete snapshots,
you need to include a <a class="xref" href="slm-api-put-policy.html#slm-api-put-retention"><code class="literal">retention</code></a> object in your SLM policy.</p>
<p>To control when the retention task runs, configure
<a class="xref" href="slm-settings.html#slm-retention-schedule"><code class="literal">slm.retention_schedule</code></a> in the cluster settings.
You can define the schedule as a periodic or absolute <a class="xref" href="trigger-schedule.html#schedule-cron" title="Cron schedule">cron schedule</a>.
The <a class="xref" href="slm-settings.html#slm-retention-duration"><code class="literal">slm.retention_duration</code></a> setting limits how long
SLM should spend deleting old snapshots.</p>
<p>You can update the schedule and duration dynamically with the
<a class="xref" href="cluster-update-settings.html" title="Cluster update settings API">update settings</a> API.
You can run the retention task manually with the
<a class="xref" href="slm-api-execute-retention.html" title="Execute snapshot retention policy API">execute retention </a> API.</p>
<p>The retention task only considers snapshots initiated through SLM policies,
either according to the policy schedule or through the
<a class="xref" href="slm-api-execute-lifecycle.html" title="Execute snapshot lifecycle policy API">execute lifecycle</a> API.
Manual snapshots are ignored and don’t count toward the retention limits.</p>
<p>To retrieve information about the snapshot retention task history,
use the  <a class="xref" href="slm-api-get-stats.html" title="Get snapshot lifecycle stats API">get stats</a> API:</p>
<div class="pre_wrapper lang-console">
<pre class="programlisting prettyprint lang-console">GET /_slm/stats</pre>
</div>
<div class="console_widget" data-snippet="snippets/1217.console"></div>
<p>The response includes the following statistics:</p>
<div class="pre_wrapper lang-js">
<pre class="programlisting prettyprint lang-js">{
  "retention_runs": 13, <a id="CO463-1"></a><i class="conum" data-value="1"></i>
  "retention_failed": 0, <a id="CO463-2"></a><i class="conum" data-value="2"></i>
  "retention_timed_out": 0, <a id="CO463-3"></a><i class="conum" data-value="3"></i>
  "retention_deletion_time": "1.4s", <a id="CO463-4"></a><i class="conum" data-value="4"></i>
  "retention_deletion_time_millis": 1404,
  "policy_stats": [
    {
      "policy": "daily-snapshots",
      "snapshots_taken": 1,
      "snapshots_failed": 1,
      "snapshots_deleted": 0, <a id="CO463-5"></a><i class="conum" data-value="5"></i>
      "snapshot_deletion_failures": 0 <a id="CO463-6"></a><i class="conum" data-value="6"></i>
    }
  ],
  "total_snapshots_taken": 1,
  "total_snapshots_failed": 1,
  "total_snapshots_deleted": 0, <a id="CO463-7"></a><i class="conum" data-value="7"></i>
  "total_snapshot_deletion_failures": 0 <a id="CO463-8"></a><i class="conum" data-value="8"></i>
}</pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>Number of times retention has been run</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>Number of times retention failed while running</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>Number of times retention hit the <code class="literal">slm.retention_duration</code> time limit and had to stop before deleting all eligible snapshots</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>Total time spent deleting snapshots by the retention process</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>Number of snapshots created by the "daily-snapshots" policy that have been deleted</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p>Number of snapshots that failed to be deleted</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>Total number of snapshots deleted across all policies</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO463-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p>Total number of snapshot deletion failures across all policies</p>
</td>
</tr>
</table>
</div>
</div>
<div class="navfooter">
<span class="prev">
<a href="slm-and-security.html">« Security and SLM</a>
</span>
<span class="next">
<a href="secure-cluster.html">Secure a cluster »</a>
</span>
</div>
</div>

                  <!-- end body -->
                </div>
                <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                  <div id="rtpcontainer" style="display: block;">
                    <div class="mktg-promo">
                      <h3>Most Popular</h3>
                      <ul class="icons">
                        <li class="icon-elasticsearch-white"><a href="https://www.elastic.co/webinars/getting-started-elasticsearch?baymax=default&amp;elektra=docs&amp;storm=top-video">Get Started with Elasticsearch: Video</a></li>
                        <li class="icon-kibana-white"><a href="https://www.elastic.co/webinars/getting-started-kibana?baymax=default&amp;elektra=docs&amp;storm=top-video">Intro to Kibana: Video</a></li>
                        <li class="icon-logstash-white"><a href="https://www.elastic.co/webinars/introduction-elk-stack?baymax=default&amp;elektra=docs&amp;storm=top-video">ELK for Logs &amp; Metrics: Video</a></li>
                      </ul>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </section>

        </div>


<div id="elastic-footer"></div>
<script src="https://www.elastic.co/elastic-footer.js"></script>
<!-- Footer Section end-->

      </section>
    </div>

<script src="/guide/static/jquery.js"></script>
<script type="text/javascript" src="/guide/static/docs.js"></script>
<script type="text/javascript">
  window.initial_state = {}</script>
  </body>
</html>
